package com.ee.chat.common.service;

import java.util.Date;

/**
 * @Author Shane
 * @Date 2020/1/30 17:47
 */
public interface IYieldService {
    void consume(Integer userId, Integer type, Integer toUserId, String buyId, Integer coin, Double credit) throws Exception;

    /**
     * 更新用户钱包
     * @Author Shane
     * @Date 2020/4/13 11:21
     * @param userId    用户id
     * @param consumId  关联记录id
     * @param type  类型
     * @param num   数量
     * @param desc  描述
     * @param walletType    钱包类型，0-P币   1-积分
     * @return
     */
    void updateUserWallet(Integer userId, Integer consumId, Integer type, Double num, String desc, Integer walletType) throws Exception;

    /**
     * 处理推广收益
     * @Author Shane
     * @Date 2020/4/10 15:01
     * @param userId    用户id
     * @param type  类型，0-充值  1-收入  2-购买会员
     * @param amount    总金额，单位分
     * @param consumId  关联记录id
     * @return
     */
    void handlePopYield(Integer userId, Integer type, Double amount, Integer consumId) throws Exception;

    /**
     * 处理邀请注册收益
     * @Author Shane
     * @Date 2020/4/13 11:35
     * @param userId    用户id
     * @return
     */
    void handleInviteRegYield(Integer userId) throws Exception;

    /**
     * 处理活动奖励
     * @Author Shane
     * @Date 2020/4/13 12:46
     * @param userId    用户id
     * @param consumId  关联id
     * @param type  类型，0-充值成功  1-认证成功
     * @return
     */
    void handleActivityYield(Integer userId, Integer consumId, Integer type, Date date) throws Exception;
}
